package com.company.framework.common.enums;

import com.company.framework.common.constants.RedisConstant;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;

/**
 * RedisKey枚举
 * 统一定义key和有效时间
 *
 * @author zhushangyi
 */
@Getter
@AllArgsConstructor
@NoArgsConstructor
public enum RedisKeyEnum {
    /**
     * 登录验证码
     */
    LOGIN_CAPTCHA_KEY("login_captcha", RedisConstant.PROJECT_CPM,RedisConstant.MODULE_AUTH,RedisConstant.minute_ten),

    /**
     * 登录账号的权限列表
     */
    LOGIN_ACC_PERM_KEY("login_acc_perm",RedisConstant.PROJECT_CPM,RedisConstant.MODULE_AUTH,RedisConstant.minute_ten),

    /**
     * 登录账号的权限列表
     * 有效期：10天，秒
     */
    LOGIN_ACC_INFO_KEY("login_acc_info",RedisConstant.PROJECT_CPM,RedisConstant.MODULE_AUTH,864000L),

    /**
     * 用户信息,1天有效期
     */
    SUPPLIER_USER_INFO("supplier_user_info",RedisConstant.PROJECT_CPM,RedisConstant.MODULE_AUTH,86400L),

    /**
     * 分享,2天有效期
     */
    SHARE_PURCHASE_SHEET("share_purchase_sheet",RedisConstant.PROJECT_CPM,RedisConstant.MODULE_AUTH,172800L),

    /**
     * 用户信息,1天有效期
     */
    DRIVER_USER_INFO("driver_user_info",RedisConstant.PROJECT_CPM,RedisConstant.MODULE_AUTH,86400L);

    /**
     * key
     */
    private String key;

    /**
     * 项目名称
     */
    private String project;

    /**
     * 模块
     */
    private String module;

    /**
     * 有效时间,秒
     */
    private Long expiryTime;

}
